package com.grape.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.grape.domain.Bill;
import com.grape.dto.*;
import com.grape.req.StatisticYearMonthReq;
import com.grape.vo.DailyVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * 账单表 Mapper接口
 *
 * @author      putao
 * @email       2628279194@qq.com
 */
public interface BillMapper extends BaseMapper<Bill> {

    List<LineDTO> getTotal(@Param("startDay") String startDay, @Param("endDay") String endDay, @Param("userId") String userId);

    List<BillDTO> getBillDTOList(DailyVO dailyVO);

    StatisticalCurrentMonthDTO getCurrentMonthStatistical(@Param("firstDayOfMonth") String firstDayOfMonth, @Param("nextMonthFirstDay") String nextMonthFirstDay, @Param("userId") String userId, @Param("accountBookId") String accountBookId);

    List<MonthMoneyDTO> statisticMonthChart(@Param("accountBookId") String accountBookId, @Param("type") String type, @Param("startDay") String startDay, @Param("endDay") String endDay, @Param("userId") String userId);

    StatisticalMonthDTO statisticByYearMonth(StatisticYearMonthReq statisticYearMonthReq);

    List<CategoryDataDTO> statisticCategoryByYearMonth(StatisticYearMonthReq statisticYearMonthReq);
}
